package com.ecloud.openapi.security.convert;

import java.util.List;

import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import com.ecloud.openapi.security.dto.BaseRolePermissionDto;
import com.ecloud.openapi.security.po.BaseRolePermissionPo;
import com.ecloud.openapi.security.vo.BaseRolePermissionVo;

/**
 * BaseRolePermissionConvert 模型转换
 *
 * @author LiuGangQiang Create in 2021/07/04
 */
@Mapper
public interface BaseRolePermissionConvert {
    BaseRolePermissionConvert INSTANCE = Mappers.getMapper(BaseRolePermissionConvert.class);

    /**
     * {@link BaseRolePermissionDto}对象 >> {@link BaseRolePermissionPo}对象
     *
     * @author LiuGangQiang Create in 2021/07/04
     * @param dto 入参
     * @return {@link BaseRolePermissionPo} 对象
     */
    BaseRolePermissionPo dtoToPo(BaseRolePermissionDto dto);

    /**
     * {@link BaseRolePermissionDto}集合 >> {@link BaseRolePermissionPo}集合
     *
     * @author LiuGangQiang Create in 2021/07/04
     * @param dtos 入参
     * @return {@link BaseRolePermissionPo} 集合
     */
    List<BaseRolePermissionPo> dtoToPo(List<BaseRolePermissionDto> dtos);

    /**
     * {@link BaseRolePermissionPo}对象 >> {@link BaseRolePermissionVo}对象
     *
     * @author LiuGangQiang Create in 2021/07/04
     * @param dto 入参
     * @return {@link BaseRolePermissionVo} 对象
     */
    BaseRolePermissionVo poToVo(BaseRolePermissionPo po);

    /**
     * {@link BaseRolePermissionPo}集合 >> {@link BaseRolePermissionVo}集合
     *
     * @author LiuGangQiang Create in 2021/07/04
     * @param dtos 入参
     * @return {@link BaseRolePermissionVo} 集合
     */
    List<BaseRolePermissionVo> poToVo(List<BaseRolePermissionPo> pos);
}
